Imagers typically consist of an array of pixel cells containing photosensors. Each pixel cell produces a signal corresponding to the intensity of light impinging on its photosensor when an image is focused on the array by one or more lenses. These signals may be stored in a memory and displayed on a monitor, manipulated by software, printed to paper, or otherwise used to provide information about the optical image. The magnitude of the signal produced by each pixel is substantially proportional to the amount of light impinging on a respective photosensor.
Several kinds of imagers are generally known. Complementary metal-oxide-semiconductor (“CMOS”) imagers and charge coupled device (“CCD”) imagers are among the most common. CMOS imagers are discussed, for example, in U.S. Pat. No. 6,140,630, U.S. Pat. No. 6,376,868, U.S. Pat. No. 6,310,366, U.S. Pat. No. 6,326,652, U.S. Pat. No. 6,204,524, and U.S. Pat. No. 6,333,205, all assigned to Micron Technology, Inc.
To allow an imager to capture a color image, the pixel cells must be able to separately detect values of light, for example, red (R) light, green (G) light, and blue (B) light. A color filter array is typically placed in front of the array of pixel cells so each pixel cell measures only light of the color of its respective filter. The most common type of color filter array, often referred to as the Bayer filter, is described in U.S. Pat. No. 3,971,065. As shown in FIG. 1, Bayer filters consist of alternating red and green filters in a first row and alternating blue and green filters in a second row. This pattern is repeated throughout the array. Thus, in an imager employing a Bayer filter, one-half of the pixels are sensitive to green light, one-quarter are sensitive to red light, and the remaining one-quarter are sensitive to blue light.
To provide a color image, however, red, green, and blue values are required for every pixel location. Thus, the two “missing” color values at each pixel location must be estimated. For example, the highlighted pixel in FIG. 1 at the intersection of row 3 and column 3 is sensitive to red light. Therefore, blue and green values must be estimated for this pixel location. This estimation process is often referred to as “demosaicing.”
Several types of demosaicing methods are generally known. The simplest methods consider each color separately. For example, missing green pixel values are estimated based on nearby green pixel values. Bilinear interpolation is one such method and provides good results when applied to grayscale images. However, bilinear interpolation in color imaging often results in many visible artifacts (e.g., zipper effect or colored or blurred edges).
Bilinear interpolation and other standard interpolation methods treat each color independently. However, color images often exhibit a high degree of correlation among color channels. Several methods have been proposed to use this correlation to more accurately estimate missing color pixel values. One such method involves analyzing pixels around each missing color pixel value to determine whether the region exhibits a preferred interpolation direction. For example, in one implementation, pixel values from to the left of a missing color pixel value are subtracted from pixel values to the right of the missing color pixel value to determine a horizontal gradient score. Similarly, a difference between pixel values above and below the mixing color pixel value is computed to determine a vertical gradient score. By comparing the scores, these “edge-directed” methods attempt to determine whether the missing color pixel value should be interpolated horizontally, vertically, or both. In general, the interpolation direction is chosen to interpolate along edges rather than across edges.
Wrongly selecting the interpolation direction is a major source of error in edge-directed demosaicing methods. For example, if interpolation direction changes abruptly along an edge, a zipper effect occurs. Similarly, if an interpolation direction in a region of an image is random or difficult to determine, color aliasing occurs. Thus, there is a need in the art for an improved demosaicing method that provides, among other things, more accurate edge directionality selection and reduced color aliasing.